Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

281
Visualizações
Terminology: why "floating multiply-add" instead of "fused multiply-add"?

C11 (and newer):

7.12.13 Floating multiply-add

IEEE 754-2008:

fused multiply add, fusedMultiplyAdd

Wikipedia:

fused multiply-add

Why C11 (and newer) uses "floating multiply-add" instead of "fused multiply-add"?

Where this "floating" comes from?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

This is most likely a mistake from the technical report which introduced these arithmetic operations to the language

With some detective work we may dig down to the root source of C11's "Floating multiply-add" and identify a discrepancy that very much hints at this naming being just an oversight. WG14's N1154 (Extension for the programming language C to support decimal floating-point arithmetic) from 2006 idiomatically describe the operation as a fused multiply-add arithmetic operation:

9 Arithmetic Operations

[...]

9.2 Functions

The decimal floating point operations square root, min, max, fused multiply-add and remainder, which are defined in IEEE 754R, are implemented as library functions.

Only to replace (arguably by mistake) fused by floating in the library synopsis for the associated function prototypes. An oversight arguably easily missed in review of the library synopsis as f in the abbreviated fmad names in the containing function prototypes could easily be misinterpreted as "floating" as opposed to its actual meaning "fused".

10 Library

10.1 Decimal mathematics <math.h>

The list of elementary functions specified in the mathematics library is extended to handle decimal floating-point types. These include functions specified in 7.12.4, 7.12.5, 7.12.6, 7.12.7, 7.12.8, 7.12.9, 7.12.10, 7.12.11, 7.12.12, and 7.12.13

[...]

Suggested changes to C99:

Add the following list of function prototypes to the synopsis of the respective subclauses:

[...]

7.12.13 Floating multiply-add

_Decimal64 fmad64(_Decimal64 x, _Decimal64 y, _Decimal64 z);
_Decimal32 fmad32(_Decimal32 x, _Decimal32 y, _Decimal32 z); 
_Decimal128 fmad128(_Decimal128 x, _Decimal128 y, _Decimal128 z);
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda